<?php

class Contact
{
	private $id;
	private $voornaam;
	private $achternaam;
	private $tussenvoegsel;
	private $functie;
	private $email;
	private $telefoonnr;
	private $opmerkingen;
	private $actief;
	
	private $bedrijf;
	private $contactpersoon;
	private $bedrijfsbegeleider;
	
	private $wsdl;
	private $sugar_client;
	
	/* Constructor */
	public function __construct($arg_wsdl)
	{
		$this->wsdl = $arg_wsdl;
		$this->sugar_client = new nusoapclient($this->wsdl, true);
	}
	
	/* InitData */
	public function setData($arg_voornaam, $arg_achternaam, $arg_tussenvoegsel, $arg_functie, $arg_email, $arg_telefoonnr, $arg_opmerkingen, $arg_bedrijf, $arg_contactpersoon, $arg_bedrijfsbegeleider)
	{
		$this->id = NULL;
		$this->voornaam = $arg_voornaam;
		$this->achternaam = $arg_achternaam;
		$this->tussenvoegsel = $arg_tussenvoegsel;
		$this->functie = $arg_functie;
		$this->email = $arg_email;
		$this->telefoonnr = $arg_telefoonnr;
		$this->opmerkingen = $arg_opmerkingen;
		$this->actief = 'Actief';
		
		$this->bedrijf = $arg_bedrijf;
		$this->contactpersoon = $arg_contactpersoon;
		$this->bedrijfsbegeleider = $arg_bedrijfsbegeleider;
	}

	/* Set Methoden */
	public function setId($arg_id)
	{
		$this->id = $arg_id;
	}
	
	public function setVoornaam($arg_voornaam)
	{
		$this->voornaam = $arg_voornaam;
	}
	
	public function setAchternaam($arg_achternaam)
	{
		$this->achternaam = $arg_achternaam;
	}
	
	public function setTussenvoegsel($arg_tussenvoegsel)
	{
		$this->tussenvoegsel = $arg_tussenvoegsel;
	}
	
	public function setFunctie($arg_functie)
	{
		$this->functie = $arg_functie;
	}
	
	public function setEmail($arg_email)
	{
		$this->email = $arg_email;
	}
	
	public function setTelefoonnr($arg_telefoonnr)
	{
		$this->telefoonnr = $arg_telefoonnr;
	}
	
	public function setOpmerkingen($arg_opmerkingen)
	{
		$this->opmerkingen = $arg_opmerkingen;
	}
	
	public function setActief($arg_actief)
	{
		$this->actief = $arg_actief;
	}
	
	public function setBedrijf($arg_bedrijf)
	{
		$this->bedrijf = $arg_bedrijf;
	}
	
	public function setContactpersoon($arg_contactpersoon)
	{
		$this->contactpersoon = $arg_contactpersoon;
	}
	
	public function setBedrijfsbegeleider($arg_bedrijfsbegeleider)
	{
		$this->bedrijfsbegeleider = $arg_bedrijfsbegeleider;
	}
	
	/* Get Methoden */
	public function getId()
	{
		return $this->id;
	}
	
	public function getVoornaam()
	{
		return $this->voornaam;
	}
	
	public function getAchternaam()
	{
		return $this->achternaam;
	}
	
	public function getTussenvoegsel()
	{
		return $this->tussenvoegsel;
	}
	
	public function getFunctie()
	{
		return $this->functie;
	}
	
	public function getEmail()
	{
		return $this->email;
	}
	
	public function getTelefoonnummer()
	{
		return $this->telefoonnr;
	}
	
	public function getOpmerkingen()
	{
		return $this->opmerkingen;
	}
	
	public function getActief()
	{
		return $this->actief;
	}
	
	public function getBedrijf()
	{
		return $this->bedrijf;
	}
	
	public function isContactpersoon()
	{
		return $this->contactpersoon;
	}
	
	public function isBedrijfsbegeleider()
	{
		return $this->bedrijfsbegeleider;
	}
	
	public function getRol()
	{
		$typecontact= '';
		
		if($this->isContactpersoon())
		{
			$typecontact= 'Contactpersoon';
		}
		
		if($this->isBedrijfsbegeleider())
		{
			if($this->isContactpersoon())
			{
				$typecontact= 'Contactpersoon/Bedrijfsbegeleider';
			}
			else
			{
				$typecontact= 'Bedrijfsbegeleider';
			}
		}
		
		return $typecontact;
	}
	
	public function getFullName()
	{
		//echo('<br />Student->getFullName()');
		if($this->voornaam != '' && $this->achternaam != '')
		{
			if($this->tussenvoegsel =='')
			{
				return $this->voornaam.' '.$this->achternaam;
			}
			else
			{
				return $this->voornaam.' '.$this->tussenvoegsel.' '.$this->achternaam;
			}
		}
		return '';
	}
	
	/* Other */
	public function save()
	{
		//Nog aan te passen
		$session_id = $_SESSION['session'];
		$set_entry_params = array(
	    	'session' => $session_id,
	        'module_name' => 'st_Contact',
	        'name_value_list'=>array(
	                           	 	array('name'=>'id','value'=>$this->getId()),
	                           		array('name'=>'name','value'=>$this->getVoornaam()),
									array('name'=>'lastname','value'=>$this->getAchternaam()),
									array('name'=>'betweentf','value'=>$this->getTussenvoegsel()),
									array('name'=>'functiontf','value'=>$this->getFunctie()),
									array('name'=>'email','value'=>$this->getEmail()),
									array('name'=>'phone_number','value'=>$this->getTelefoonnummer()),
									array('name'=>'description','value'=>$this->getOpmerkingen()),
									array('name'=>'bedrijf_id','value'=>$this->getBedrijf()),
									array('name'=>'contactpersoon','value'=>$this->isContactpersoon()),
									array('name'=>'bedrijfsbegeleider','value'=>$this->isBedrijfsbegeleider()),
									array('name'=>'active','value'=>$this->getActief()),
	                          		)
	                          );
		
		$result = $this->sugar_client->call('set_entry',$set_entry_params);

		if($result['error']['name']== "No Error")
		{
			$this->id = $result['id'];
			return $result['id'];
		}
		else
		{
			return $result['error']['name'];
		}
	}
}

?>